/**
 *
 */
package com.desksoft.ecommerce.service.interf.logistics;

import java.util.List;
import java.util.Map;

import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.logistics.RegistryQryVO;
import com.desksoft.ecommerce.vo.logistics.RegistryVO;
import com.desksoft.utility.service.ServiceInterface;

/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: Aug 1, 2011 12:43:20 PM
 * 创建作者：yejw
 * 文件名称：IRegistryService.java
 * 版本：
 * 功能：
 * 最后修改时间：Aug 1, 2011 12:43:20 PM
 * 修改记录：
 * </pre>
 *****************************************/

public interface IRegistryService extends ServiceInterface {

	// ********************** 公共方法 start *****************************

	/**
	 * 根据注册段名取该段名下的注册参数列表
	 *
	 * @param registryQryVO
	 *            注册参数查询值对象
	 *        vo属性regKey:             注册段名   （不能为空）
	 *        vo的属性userId		:		公司ID		（不能为空）
	 *        vo的属性dccode		:		物流重心编码  （不能为空）
	 * @return
	 */
	public ServiceResult<List<RegistryVO>> getRegistriesByKey(RegistryQryVO registryQryVO);

	/**
	 * 根据注册段名和注册参数名取注册参数信息
	 *
	 * @param registryQryVO
	 *            vo属性regKey:             注册段名    （不能为空）
	 *            vo属性valueName：         注册参数名    （不能为空）
	 *			  vo的属性userId		:		公司ID		（不能为空）
	 *       	  vo的属性dccode		:		物流重心编码  （不能为空）
	 * @return
	 *           RegistryVO
	 *             里面的value值
	 */
	public ServiceResult<RegistryVO> getRegistryByKeyAndVal(RegistryQryVO registryQryVO);
	/**
	 * 根据注册段名和注册参数名取注册参数信息
	 *
	 * @param registryQryVO
	 *            vo属性regKey:             注册段名    （不能为空）
	 *            vo属性valueName：         注册参数名    （不能为空）
	 *			  vo的属性userId		:		公司ID		（不能为空）
	 *       	  vo的属性dccode		:		物流重心编码  （不能为空）
	 * @return
	 *           RegistryVO
	 *             里面的value值
	 */
	public ServiceResult<RegistryVO> getRegistryByKeyAndVals(RegistryQryVO registryQryVO);

	/**
	 * 批量获取注册信息
	 * @param registryQryVO
	 * @return
	 */
	public ServiceResult<Map<String, Object>> getRegistryByKeyAndVal(List<RegistryQryVO> registryQryVO);

	/**
	 * 批量获取注册信息
	 * @param registryQryVO
	 * @return
	 */
	public ServiceResult<Map<String, Object>> getRegistryByKeyAndValArray(RegistryQryVO[] registryQryVO);

	/**
	 * SEO（首页和（非列表页和单页的页面））
	 * @param RegistryVO
	 * @return
	 */
	public ServiceResult<RegistryVO> getRegistryHome(String valuename);

	/**
	 * SEO(列表页的页面)
	 * @param RegistryVO
	 * @return
	 */
	public ServiceResult<RegistryVO> getRegistryListing(String valuename);
	// ********************** 公共方法 end *******************************
	/**
	 * 获取Registry信息根据valuename
	 * @param RegistryVO
	 * @return
	 */

	public ServiceResult<RegistryVO> getRegistryByValueName(RegistryVO registryVO);

	/**
	 * 获取地址
	 * @return
	 */
	public ServiceResult<String> getSmsAddress();

	/**
	 * 获取校验码
	 * @return
	 */
	public ServiceResult<String> getSmsKeyWord();

	/**
	 * 获取内容
	 * @param param
	 * @return
	 */
	public ServiceResult<String> getContent(List<String> param, String eventId, String telephone);

	/**
	 * 获取内容
	 * @param param
	 * @param eventId
	 * @return
	 */
	public ServiceResult<String> getContent2(Map<String, String> param, String eventId, String telephone);

}
